diff --git a/drivers/net/mdio/of_mdio.c b/drivers/net/mdio/of_mdio.c
index b254127..5bae47f 100644
--- a/drivers/net/mdio/of_mdio.c
+++ b/drivers/net/mdio/of_mdio.c
@@ -238,23 +238,21 @@
 EXPORT_SYMBOL(of_mdiobus_child_is_phy);
 
 /**
- * __of_mdiobus_register - Register mii_bus and create PHYs from the device tree
+ * of_mdiobus_register - Register mii_bus and create PHYs from the device tree
  * @mdio: pointer to mii_bus structure
  * @np: pointer to device_node of MDIO bus.
- * @owner: module owning the @mdio object.
  *
  * This function registers the mii_bus structure and registers a phy_device
  * for each child node of @np.
  */
-int __of_mdiobus_register(struct mii_bus *mdio, struct device_node *np,
-			  struct module *owner)
+int of_mdiobus_register(struct mii_bus *mdio, struct device_node *np)
 {
 	struct device_node *child;
 	bool scanphys = false;
 	int addr, rc;
 
 	if (!np)
-		return __mdiobus_register(mdio, owner);
+		return mdiobus_register(mdio);
 
 	/* Do not continue if the node is disabled */
 	if (!of_device_is_available(np))
@@ -274,7 +272,7 @@
 	of_property_read_u32(np, "reset-post-delay-us", &mdio->reset_post_delay_us);
 
 	/* Register the MDIO bus */
-	rc = __mdiobus_register(mdio, owner);
+	rc = mdiobus_register(mdio);
 	if (rc)
 		return rc;
 
@@ -338,7 +336,7 @@
 	mdiobus_unregister(mdio);
 	return rc;
 }
-EXPORT_SYMBOL(__of_mdiobus_register);
+EXPORT_SYMBOL(of_mdiobus_register);
 
 /**
  * of_mdio_find_device - Given a device tree node, find the mdio_device
diff --git a/drivers/net/phy/mdio_devres.c b/drivers/net/phy/mdio_devres.c
index 69b829e..b560e99 100644
--- a/drivers/net/phy/mdio_devres.c
+++ b/drivers/net/phy/mdio_devres.c
@@ -98,14 +98,13 @@
 
 #if IS_ENABLED(CONFIG_OF_MDIO)
 /**
- * __devm_of_mdiobus_register - Resource managed variant of of_mdiobus_register()
+ * devm_of_mdiobus_register - Resource managed variant of of_mdiobus_register()
  * @dev:	Device to register mii_bus for
  * @mdio:	MII bus structure to register
  * @np:		Device node to parse
- * @owner:	Owning module
  */
-int __devm_of_mdiobus_register(struct device *dev, struct mii_bus *mdio,
-			       struct device_node *np, struct module *owner)
+int devm_of_mdiobus_register(struct device *dev, struct mii_bus *mdio,
+			     struct device_node *np)
 {
 	struct mdiobus_devres *dr;
 	int ret;
@@ -118,7 +117,7 @@
 	if (!dr)
 		return -ENOMEM;
 
-	ret = __of_mdiobus_register(mdio, np, owner);
+	ret = of_mdiobus_register(mdio, np);
 	if (ret) {
 		devres_free(dr);
 		return ret;
@@ -128,7 +127,7 @@
 	devres_add(dev, dr);
 	return 0;
 }
-EXPORT_SYMBOL(__devm_of_mdiobus_register);
+EXPORT_SYMBOL(devm_of_mdiobus_register);
 #endif /* CONFIG_OF_MDIO */
 
 MODULE_LICENSE("GPL");
diff --git a/include/linux/of_mdio.h b/include/linux/of_mdio.h
index 8cc6522..f56c6a9 100644
--- a/include/linux/of_mdio.h
+++ b/include/linux/of_mdio.h
@@ -14,25 +14,9 @@
 
 #if IS_ENABLED(CONFIG_OF_MDIO)
 bool of_mdiobus_child_is_phy(struct device_node *child);
-int __of_mdiobus_register(struct mii_bus *mdio, struct device_node *np,
-			  struct module *owner);
-
-static inline int of_mdiobus_register(struct mii_bus *mdio,
-				      struct device_node *np)
-{
-	return __of_mdiobus_register(mdio, np, THIS_MODULE);
-}
-
-int __devm_of_mdiobus_register(struct device *dev, struct mii_bus *mdio,
-			       struct device_node *np, struct module *owner);
-
-static inline int devm_of_mdiobus_register(struct device *dev,
-					   struct mii_bus *mdio,
-					   struct device_node *np)
-{
-	return __devm_of_mdiobus_register(dev, mdio, np, THIS_MODULE);
-}
-
+int of_mdiobus_register(struct mii_bus *mdio, struct device_node *np);
+int devm_of_mdiobus_register(struct device *dev, struct mii_bus *mdio,
+			     struct device_node *np);
 struct mdio_device *of_mdio_find_device(struct device_node *np);
 struct phy_device *of_phy_find_device(struct device_node *phy_np);
 struct phy_device *
